package com.ourteam.workspace.dao;

import net.dao.IDataAccessInterface;

/**
 * Template Name : DAO接口模板 Template Version : 1 Template Last Modfiy Date : Thu Sep 21 11:14:14 CST
 * 2017 Auto Generate Date : 2018-11-30 18:42:24 Warning ! This file will be overwrite when
 * regenerate !
 */
public interface IBaseWorkspaceDAO extends IDataAccessInterface<Workspace, WorkspaceDAOQueryBean> {

  /** Mapped Entity Name */
  static final String EntityName = "WORKSPACE";

  /** Mapped Field ID */
  static final String Id = "WORKSPACE.ID";

  /** Mapped Field CREATE_TIME */
  static final String CreateTime = "WORKSPACE.CREATE_TIME";

  /** Mapped Field NAME */
  static final String Name = "WORKSPACE.NAME";

  /** Mapped Field STATUS */
  static final String Status = "WORKSPACE.STATUS";

  /** Mapped Field WORKSPACE_PATH */
  static final String WorkspacePath = "WORKSPACE.WORKSPACE_PATH";

  /** Mapped Field WORKSPACE_TYPE */
  static final String WorkspaceType = "WORKSPACE.WORKSPACE_TYPE";

  /** Mapped Field DESCRIPTION */
  static final String Description = "WORKSPACE.DESCRIPTION";

  /** Mapped Field SUBMITTER_ID */
  static final String SubmitterId = "WORKSPACE.SUBMITTER_ID";

  /** Mapped Field CREATOR_NAME */
  static final String CreatorName = "WORKSPACE.CREATOR_NAME";

  /** Mapped Field LAST_MODIFIER_NAME */
  static final String LastModifierName = "WORKSPACE.LAST_MODIFIER_NAME";

  /** Mapped Field LAST_MODIFY_TIME */
  static final String LastModifyTime = "WORKSPACE.LAST_MODIFY_TIME";

  public static interface DataProperty {

    /** Attribute id */
    static final String Id = "id";

    /** Attribute createTime */
    static final String CreateTime = "createTime";

    /** Attribute name */
    static final String Name = "name";

    /** Attribute status */
    static final String Status = "status";

    /** Attribute workspacePath */
    static final String WorkspacePath = "workspacePath";

    /** Attribute workspaceType */
    static final String WorkspaceType = "workspaceType";

    /** Attribute description */
    static final String Description = "description";

    /** Attribute submitterId */
    static final String SubmitterId = "submitterId";

    /** Attribute creatorName */
    static final String CreatorName = "creatorName";

    /** Attribute lastModifierName */
    static final String LastModifierName = "lastModifierName";

    /** Attribute lastModifyTime */
    static final String LastModifyTime = "lastModifyTime";
  }

  public static interface _DataObjectProperty extends DataProperty {}

  /**
   * Delete Data
   *
   * @param final long id
   * @throws Exception
   */
  void delete(final long id) throws Exception;
  /**
   * Find Data By Primary Key
   *
   * @param final long id
   * @throws Exception
   */
  Workspace findById(final long id) throws Exception;
}
